home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turnbull China Bikeride
/
Turnbull China Bikeride - Disc 2.iso
/
ACORNUSERS
/
EMULATOR
/
CPCEMU
/
!CPCEmu
/
!Help
< prev
next >
Wrap
Text File
|
1997-04-06
|
9KB
|
237 lines
————————————————————————————————————————————————————————————————————————————————
CPC-Emulator V1.10 / 06-04-97
programmed in 1994-1997 by Andreas Stroiczek
(AMSDOS-ROM & system-ROM are copyright by AMSTRAD)
(BASIC-ROMs are copyright by LOCOMOTIVE SOFTWARE)
————————————————————————————————————————————————————————————————————————————————
!CPCEmu is freeware. That means, if you love it feel free to send me some gifts
or money for it, for moral support... :)
Introduction
~~~~~~~~~~~~
This program emulates an AMSTRAD CPC (Colour Personal Computer). It's a
Z80/4MHz-based 8-bit-computer with high resolution colour-graphix and
disk-drive.
If you don't know this machine try this:
⇨ start the emulator
⇨ 'insert' a disk-image in drive A
⇨ type CAT to get the directory
⇨ to start some programs just type RUN"program.xyz"
Features
~~~~~~~~
• fast Z80-emulation
• real CRTC-emulation (!) (for splittings and fullscreen)
• up to 128k RAM
• 8 UPPER-ROMs (ROM 7 must be AMSDOS-ROM, ROM 0 is the BASIC-ROM)
• disk-emulation provides two drives and different formats
• sound-support incuding hardware-envelopes and sample-replay
a small history:
~~~~~~~~~~~~~~~~
Changes from version 1.02 to 1.10
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
• nasty bug found in KBD-module
• multitasking-redraw bugfix
• some StrongARM support (option for faster disk access)
• small changes to the PSG-module
• CRTC-Register 5 emulation
• EDSK support added
• major changes to the FDC-module, most disk problems should be cured now!
Changes from version 0.79 to 1.02
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
• fixed some bugs in Z80-emulation
• logarithmic sound-output
• horizontal colour-splitting
• direct .DSK-support
• option to change the ROM-internal key-mapping (for german and uk keyboards)
• loading disk-images via drag'n'drop
• multitasking (most work)
• 16 colour mode (uses Mode 35)
• Mode 35 modules and new Mode 36 modules for the Archimedes by Nicolai Willers
(big thanx!!)
• joystick support
• DiskImages filetyped (&064="CPC snap", &065="CPC disc")
• sampled sound support (fast machine recommended to prevent noisy samples)
• PIO-error fixed (thanx to Brice Rive and his netnews-discussion)
• after all changes to the sound-system: PSG-module rewritten!
• Printerport-/Digiblaster-emulation
• HALT-bugfix!
Changes from version 0.50 to 0.79
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
• faster Z80-emulation
• interrupt and Gate Array bug fix
• drive B is now installed (drive and head select works now)
• !CPCEmu loads and makes snapshots
• faster CRTC-emulation
• easy file-exchange between AMSDOS and RISC OS via !CPCXtract
• modules for Mode 36 for the Archimedes taken from Coder's Revenge
(thanx to Mr.Hill and Frisco of Archiologics)
• border-redraw bugfix
• and finally SOUND!!!
what's still to do?
~~~~~~~~~~~~~~~~~~~
- do better CRTC/timing/colour-splitting
————————————————————————————————————————————————————————————————————————————————
Mouse & Keys
~~~~~~~~~~~~
In fullscreen-mode you have a menu at the top of the screen. You can use
the menu-button of your mouse to switch the menu on/off. You can get the
list of DiskImages by pressing the menu-button while your pointer is on
"DriveA{side0}{--}". You may also change the options (side-selection and
write-protection) with select- and adjust-button.
If you don't wanna use your mouse, you may use following keys:
<F1>: insert a disk-image in drive A
<SHIFT><F1>: turn disk in drive A (also in multitasking-mode)
<CTRL><F1>: protect/deprotect disk in drive A
<F2>: insert a disk-image in drive B
<SHIFT><F2>: turn disk in drive B (also in multitasking-mode)
<SHIFT><F3>: sound on/off
<CTRL><F2>: protect/deprotect disk in drive B
<SHIFT><F4>: make screen-shots (you'll find them in !CPCEmu.screenShot)
<SHIFT><F5>: make snap-shots (you'll find them in !CPCEmu.snapShot)
<SHIFT><F8>: reset (also in multitasking-mode)
<CTRL><F10>: quit
You can switch on a Joystick-emulation with NumLock.
With Joystick-emulation ON (=NumLock OFF), the emulator uses following keys
for the stick:
right Ctrl: fire 2 (this is the main joystick-button)
right Alt: fire 1
on keypad: 1: left
2: down
3: right
5: up
For more information about the CPC & CPC-Emulator-keyboard see the Draw-file
"KeyInfo" in !CPCEmu.Keys.
Since version 1.02 there is an option to change the ROM-internal
key-translation. This patch fits to german and uk keyboards.
To get the characters {[]}|@~ on german keyboards use CTRL instead of ALT
('cause the CPC don't know any ALT-keys...).
Multitasking
~~~~~~~~~~~~
Note: since version 1.02 it is possible to change the setup while CPC is
running. When changing ROM-configuration or CPC-type, the CPC will crash.
You have to make a CPC-hard-reset afterwards.
In multitasking-mode you have the following shortcuts:
<SHIFT><F1>: turn disk in drive A
<SHIFT><F2>: turn disk in drive B
<SHIFT><F8>: reset
special mouse-clicks:
click with right mousebutton:
on emulatorwindow ⇨ deselect and freeze emulator
on iconbar ⇨ singletask
on panewindow/diskselection ⇨ open default DISKs-directory (!CPCEmu.DISKs.)
double-click:
on emulator-window ⇨ singletask
click with left mousebutton:
on %-display ⇨ switch between max.100% and max.speed
(does also work in singletasking-mode)
How to get DiskImages from your old CPC
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Use !CPCXtract to copy Files onto DiskImages. You can get those files via
PC-DOS-disk, you'll need a 3.5"-disk-drive connected to your old CPC for it and
a CPC-program which is capable to copy files onto a PC-disk (like DOSCOPY).
Then you can use !CPCXtract on your Acorn.
Another way is to look out for DSKs flying around in the internet.
(i.e. ftp.nvg.unit.no if you're looking for games)
DiskImage specification
~~~~~~~~~~~~~~~~~~~~~~~
First, there is a 128 byte header. You may change the number of tracks, but the
size of the DiskImage has to be 128 + 2 * 6144 * <number of tracks>.
43 50 43 2D 45 6D 75 6C 61 74 6F 72 30 2E 35 30 CPC-Emulator0.50
44 69 73 6B 49 6D 61 67 65 56 34 00 00 00 00 00 DiskImageV4.....
34 30 54 72 61 63 6B 73 00 00 00 00 00 00 00 00 40Tracks........
44 6F 75 62 6C 65 53 69 64 65 64 00 00 00 00 00 DoubleSided.....
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
This is followed by the tracks. Each track is 2 * 6144 bytes long, 6144 bytes
for side 0 and 6144 bytes for side 1 of the CPC-disk.
One side of a track looks like following datas:
Track start (one side, 6144 bytes):
49 4E 44 58 49 44 46 44 00 00 C1 02 00 00 00 00 INDXIDFD........
00 00 00 00 00 00 00 00 ⇧ ⇧ ⇧ ⇧ 44 41 54 41 ⇧...⇧...⇧...DATA
00 45 58 .. .. .. ¦ ¦ ¦ ¦ ¦ ¦ ¦ ⇧
¦ ¦ ¦ size 2 (512 bytes) ¦ ¦ ¦ ¦
¦ ¦ sector &C1 ¦ ¦ ¦ data-word
¦ head 0 ¦ ¦ ID-field data
track 0 ¦ ID-field-word
index-word
The track starts with the "INDX"-mark followed by "IDFD" followed by the ID-data
for the first sector on track (4 byte ID-field + 16 reserved bytes) followed by
the "DATA"-mark followed by the sector-datas (i.e. 512 bytes). After that the
next sector on track starts exactly like the first one. The only difference is
that it starts up with four 00-bytes instead of the "INDX"-mark. The rest of
this track is set to 00.
————————————————————————————————————————————————————————————————————————————————
Send your improvements & suggestions to:
Andreas Stroiczek
Zum Kindergarten 5
32427 Minden
Germany
(email:hugger@azrael.uni-paderborn.de)
————————————————————————————————————————————————————————————————————————————————
special greetinx to
Patrick Hinrichs
Eduard Pfarr
Boris Leppin
Mark Rison
K.E.W.Tacker
Ronald Heitmann
Ingo & Nicolai Willers
Thomas Boroske
Reiner Lorenz
Oliver Mayer
Jörn Mika
Billy Kotsias
————————————————————————————————————————————————————————————————————————————————